package com.corpgovernment.organization.service;

import com.corpgovernment.organization.model.OpenCardEmployeeModel;
import com.corpgovernment.supplier.vo.OpenCardDetailListInfoVo;
import com.corpgovernment.supplier.vo.OpenCardListInfoVo;
import com.corpgovernment.supplier.vo.OpenCardMainTableVo;
import com.corpgovernment.organization.model.SupplierCompanyModel;
import com.corpgovernment.supplier.vo.OpenCardResultDetailVo;

import java.util.List;

/**
 * @author zl.cui
 * @date 2023/10/13
 */
public interface CtripOpenCardService {

    /**
     * @param openCardList  需要开卡的列表
     * @param companyConfig
     * @return 开卡失败的列表
     */
    List<OpenCardEmployeeModel> openCard(String orgId, List<OpenCardEmployeeModel> openCardList, SupplierCompanyModel companyConfig);

    Long generateKey(Integer total,String orgId,String userName,SupplierCompanyModel companyConfig);
    OpenCardListInfoVo getOpenCardResult(String orgId, int pageNum, int pageSize, String subAccountCode, String subAccountId);

    OpenCardDetailListInfoVo getOpenCardDetailResult(String orgId, String batchNo, int pageNum, int pageSize, Integer failedType);
    /**
     * 找到第一个有配置的父级公司
     * @param orgId
     * @return
     */
    List<SupplierCompanyModel> getParentConfig(String orgId);

    /**
     * 判断当前租户是否可同步法人公司
     * @return true同步 false不同步
     */
    Boolean getCorporateEntitySyncFlag();


}
